The present invention relates generally to computer workstations which are connected for information interchange with host or mainframe computer systems; more particularly, the invention relates to a method for controlling scrolling of display panel areas by the use of cursor movement keys on certain computer workstations in order to provide a consistent user interaction between workstation types.
Historically, operator interface with a mainframe computer system evolved from a single operator control console which was attached to the mainframe structure. The operator control console amounted to little more than a keyboard for enabling the operator generation of simple input commands, and a display screen for enabling the mainframe computer to present simple status messages to the operator. The evolution and expansion of this concept lead to the development of multiple, limited-intelligence terminals, to enable a number of users to communicate with a mainframe system, wherein the multiple terminals were perhaps remotely positioned from one another, and from the mainframe system, but commonly connected to a controller, and the controller was connected to the mainframe computer system. However, the multiple terminal concept was a relatively low cost solution to enable multiple users to communicate with a mainframe computer system, but with limited intelligence contained within each terminal, so that the user communication was restricted to relatively simple input/output transfers.
The development of the stand-alone personal computer (PC) provided a high level of internal intelligence to enable a great many user interface functions to be added to the PC, with the result that the PC became a very "user friendly" device. Among the interface enhancements which were made possible by the PC development were enhanced cursor controls, the creation of selection cursors, and instantaneous cursor scrolling on the display screen.
The user friendly PC soon became adapted for communication with computer systems, initially by connecting the PC to a workstation controller, and by writing software to enable the PC to emulate a terminal with limited intelligence, normally connectable to the controller. Eventually the PC/system interface was developed to enable a PC to communicate more or less directly with a host computer, wherein the independent intelligence contained within a PC could be used both to enhance the user interface with the host computer system and to independently execute software apart from the host system. A class of terminals evolved utilizing these concepts, which became known as "intelligent" terminals, and the previously evolved, limited-intelligence terminals became known as "dumb" terminals. By virtue of the widely varying internal intelligence of these two types of terminals, the capabilities and rules for using the terminals also became widely varied.
A great deal of effort has been spent in attempting to develop a set of rules for common usage of computer workstations, even though the hardware designs of such workstations may be widely varied. The basis for this effort is to simplify the rules for users of these workstations, thereby reducing the amount of time required by a user in understanding the interaction with the workstation. Further, to the extent that the rules for using different types of workstations can be made "universal," a common programming interface to control presentation management functions can be developed. If a common programming interface can be developed, and it is made independent of the particular workstation device or type, programming time and effort is saved, because it is not necessary to prepare different versions of the same program interface for different workstation types. In an idealized situation, the rules for user access and interaction would be identical for all workstations, regardless of the level of hardware design sophistication of any particular workstation. However, the idealized situation is difficult to achieve, because of the differences in hardware design sophistication between and among workstations. The so-called "intelligent" class of workstation inherently includes a hardware design which is capable of a full range of independent computer operations; the so-called "dumb" workstation typically includes only enough hardware design to enable operator interaction through a keyboard and display screen for communicating simple information and commands. For example, International Business Machines (IBM) has classified the universe of "intelligent" workstations under the heading of "programmable workstations" (PWS); the second category has been classified under the designation of "non-programmable" or "dependent workstations" (DWS). The IWS is inherently capable of performing a relatively high level of independent computer operations, whereas the DWS is essentially capable of merely receiving command and control information from a host computer, displaying it, and transferring operator keystroke data back to the host computer via a controller. Naturally, the cost of a PWS is significantly higher than a DWS, although for a great number of computer applications the limited sophistication of a DWS is adequate for the task at hand. It is not unusual for a computer purchaser to initially utilize one or more DWS devices connected to a host computer, and then later upgrade these devices to PWS devices. It is also not unusual to have both DWS and PWS devices connected to the same host computer system.
A PWS is typically a complete computer processing system, and may have a built-in media device such as a diskette or hard disk. A PWS can therefore run stand-alone processing applications in the workstation, and can communicate independently with a host computer system through standard communications connections. In contrast, a DWS is connected to a host system through a workstation controller (WSC), and in a typical system arrangement a single WSC is connected to and supports a considerable number of DWS devices. The WSC communicates with the host processor through local bus or remote communications connections, and each DWS is attached to the WSC via a communications cable. The DWS can operate only on host-based computer processing applications, and has only a limited internal capability to provide enhanced user interface functions. Whereas a PWS typically has 1-16 or more megabytes of internal memory, the DWS internal memory is minimal. The PWS can always store at least the data required for assembling or constructing one or more screen display images in its internal memory, whereas the DWS can only store the data to refresh the screen image currently being displayed, and therefore each time the display screen is changed in a DWS the change must be initiated by the host processor.
In any typical system utilizing a host processor and workstations, wherein the workstations are utilized for user interaction and access, the host processor provides certain fundamental information. For example, the host processor may generate a data stream containing information to be displayed on a workstation screen, and further information for controlling the presentation of the data on the screen. Certain screen attributes may be dictated by the host processor, and the work station controller may initially position the cursor and change the cursor presentation, i.e., to a blinking or no blinking mode, or to or from a reverse image display, and it may move the screen display data. The workstation controller may poll the workstation to determine whether a keystroke should be recognized or whether any of a predetermined number of commands have been accepted. In the case of a PWS, the host processor data stream is sent directly to the workstation and is processed internally in the workstation, which itself contains sufficient internal memory and program data to directly control the interaction with the display screen and keyboard. In the case of the DWS, the host processor data stream is sent to a workstation controller (WSC), and the WSC provides the internal memory and control for directly controlling the display screen of the DWS. This results in a more limited set of options available to the user of a DWS, than is available to the user of a PWS.
It would be a distinct advantage to the users if the DWS and PWS terminals could be operated under the same set of user interaction rules, and manufacturers strive continuously for this result. For example, IBM has defined a "common user access" (CUA) for use with IBM's Systems Application Architecture (SAA), which has been published in IBM Publication No. SC26-4351-0 under the title "Common User Access Panel Design and User Interaction." This publication sets forth a set of common user access specifications to attempt to achieve consistency among the various types of workstation designs. However, the specification distinguishes, in a number of important respects, the rules for user access to PWS terminals versus DWS terminals. It would be an advantage if the number of instances of differences between such terminals could be reduced or even eliminated, to enable users to have the same understanding regarding access to a terminal, regardless of its degree of design sophistication. The foregoing CUA publication distinguishes PWS terminals as "programmable workstations" and DWS terminals as "nonprogrammable terminals." A nonprogrammable terminal is defined as a terminal attached to a host processor via a workstation controller, in which all or most of the user interface functions are controlled by the host.
The user interaction with a terminal, and therefore with the host computer, is accomplished via a user-operated keyboard and a display screen. In a PWS the user interacts with the display screen by means of a selection cursor, which highlights a selection field choice displayed on the screen to provide a focal point for user interaction with the screen, or by means of a text cursor, which indicates a character position within an entry field on the screen. In a PWS the selection cursor appears on the screen as a form of emphasis or highlighting, such as reverse color, and the selection cursor may highlight a selection field choice or an entry field. In a prior art DWS terminal there is no fully comparable selection cursor, and the text cursor is used to perform a more limited function. The text cursor is a marker which may be movably positioned to character positions on the screen, to point to character choices or for entering information from the keyboard at the desired location.
Under the rules defined for CUA, display panels can contain several types of scrollable panel areas, including scrollable selection fields, scrollable data areas, scrollable list areas, and scrollable information areas. The CUA rules define several ways to scroll these panel areas; cursor-independent scrolling is performed by the host computer in response to a user pressing a function key while the cursor is within the scrollable panel area; cursor-dependent scrolling has heretofore been performed only on a PWS device in response to the user pressing one of the cursor movement keys at the top or bottom borders of the scrollable areas. It would be an advantage to allow DWS users to perform cursor-sensitive scrolling in the same way that PWS users can presently perform this scrolling, both to improve user productivity and to eliminate some of the special case differences which must be presently accounted for as between these two different types of devices. User productivity is increased by allowing the user to perform both tasks, cursor selection and scrolling, with the cursor movement keys, and productivity is also increased by the improvement in response time when these keys are used. Cursor-sensitive scrolling causes one line to be scrolled at a time within the scrollable area; this provides the user with total control over the positioning of the scrollable area contents. Cursor-independent scrolling usually causes the area to scroll a fixed increment of lines, which may not allow the user to position a particular choice at the top of a list area.
It is apparent that a more sophisticated set of rules and definitions may be utilized for scrolling on a PWS, because the PWS internal design provides for sufficient memory and control to regulate these functions; the lack of such sophisticated memory and control in a DWS requires that the scrolling function be limited to cursor-independent scrolling controlled by the host processor. Therefore, a user operating a PWS will interact with the system differently than a user operating a DWS, and the user having access to both types of devices must be aware of the different sets of rules for such interaction. It would be an advantage if such rules could be consistently defined and applied, to enable the user to utilize the cursor-sensitive scrolling rules defined under CUA for a PWS, even in situations where the user was interacting with a DWS.